using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Transactions;
using ItProto1;
using RFS.BizLogic.PaiShi.Ports.Adapters;
using RFS.Domain.PaiShi.Accounting;
using RFS.Domain.PaiShi.Zuhuo;
using RFS.Domain.Sys;

namespace RFS.BizLogic.PaiShi.Ports
{
    public interface IRepoZuhuaPort
    {
         
      
        IEnumerable<ZuhuaRecord> GetZuhuaRecordsByDay(DateTime day  );
        // void SaveTheAvsListItem(IDayBasedWorkFlowNodeAccountingVoucherSetWrapper o);

 
        IList<ProductTypeItem> ProdTypeItems { get; set; }
        // object BuildGroupZuhuo(List<ZaHuaItem> toList);
        List<Zuhuaer> BuildGroupZuhuo(IEnumerable<ZaHuaItem> zh, ZuHuoType bizType = ZuHuoType.首次组花   );
        (List<ZuhuaRecord> succ, List<ZaHuaItem> failed) CreateZuhuoPlans(IEnumerable<Zuhuaer> gs, ZuHuoType zuhuoType,
            bool saveit=false );

        Task SaveAsync(ZuhuaRecord o);
        void Del(ulong id);
        void ReCreateTables(string pwd);
        void Dels(IEnumerable<ZuhuaRecord> os,bool nolog=false);
        Task SaveAsync(IEnumerable<ZuhuaRecord> os);
        void RegsiterManager(  IZuhuoManager m );
        void FillKapiInfo(ZuhuaRecord z);
    }
}